1. Field of the Invention
The present invention relates to automated data storage libraries. More particularly, one embodiment of the invention concerns a method for maintaining consistent dual copies of vital product data in a dual accessor library.
2. Description of the Related Art
In this information age, the sheer volume of information is incredible. Many customers with substantial data storage needs are turning to automated data storage libraries. Automated data storage libraries utilize many portable data storage media, such as magnetic tape and optical cartridges. Accessors transport the media between various sites such as media access drives, storage slots, import/export slots, and the like. Often, the accessors comprise grippers that move along vertical and horizontal rails according to various (x,y) type coordinates. Accessors may also comprise robotic arms and other such devices. Older libraries utilize a single accessor, whereas some new libraries are using dual accessors to more quickly carry out media transport requests. Typically, each accessor is managed by an accessor controller or other similar processing entity.
An accessor controller, then, directs the movement of its accessor in order to physically transport media items among various sites in the library. In addition, an accessor controller maintains various metadata concerning the accessor and library. One example of this metadata is “vital product data” (VPD), which primarily includes calibration data and configuration data. “Calibration data” is a set of tuning values that allow the system to perform mechanical motions with a high degree of accuracy and repeatability. For instance, calibration data correlates mechanical grippers to certain physical locations in the library. This data is usually obtained through a self-calibration step that may be performed at the factory and/or at the customer site. In contrast to calibration data, “configuration data” describes the overall configuration of the library system and/or library components. Some examples include the number and type of robotic devices, any additional attachments or options, optional characteristics of the system, part numbers or model numbers of the library and/or library components, engineering change (EC) levels, the number of frames in the library, number and location of storage slots in each frame, number and location of import/export stations, number and location of read/write drives, etc.
With dual accessors, there are usually two copies of VPD. Namely, each accessor controller maintains a copy of the VPD in conjunction with its accessor. One common approach is to maintain two independent copies of VPD where each accessor must be configured and calibrated independently of the other accessor. There is little or no sharing of VPD between the two accessors. Additional complexity, memory, and cost is required if these two independent copies are to be backed up. Another approach is to maintain two copies of a single VPD which contains common elements between the two accessors and may also contain unique data for each particular accessor. Library configuration data is one example of common shared data, while accessor calibration data is one example of data that may (depending upon the implementation) be unique to each accessor. This approach offers the advantage of simplifying the management of the VPD because the same data is shared between the accessors and it also provides a backup of the VPD since each accessor will have a copy of the same VPD.
One danger in maintaining two VPD copies is that the copies can eventually diverge, such that the VPD copies are inconsistent with each other. For example, one accessor may be out of service while a change in library configuration causes the other accessor to modify its VPD. One known solution is for each accessor controller to timestamp its VPD when any change is made. This eases the job of distinguishing between the current and outdated copies of VPD. From the standpoint of cost, one disadvantage of this approach is that it requires the added cost of a clock and battery or backup power source for each accessor controller. Another disadvantage of this approach is that it is vulnerable to error if the clock fails, the battery fails, the clock is improperly set or reset, the clocks are not synchronized, etc.
Another solution for maintaining VPD consistency utilizes a third party to arbitrate between the accessor controllers. For example, when the VPD changes on one accessor, while the other accessor is unavailable, the arbitrator is notified. When the other accessor becomes available, the arbitrator will cause that accessor to be updated. This may be done by telling one or both accessors that the two copies of VPD are out of sync or the VPD synchronization may be initiated directly by the arbitrator. Two disadvantages with this approach is the added hardware cost and software complexity to provide and operate an arbitrator.
Consequently, known approaches to managing VPD in dual accessor automated data storage libraries are not completely adequate for some applications due to certain unsolved problems.